﻿using System;
using System.Collections.Generic;
using System.Text;

namespace Stee.CAP8.ACL
{
    /// <summary>
    /// An options class for configuring the Authentication Token>.
    /// </summary>
    internal class TokenValidationOption
    {
        /// <summary>
        /// Authticate Schme. example: Bearer
        /// </summary>
        public string AuthenticateScheme { get; set; }
        /// <summary>
        /// Name Claim 
        /// </summary>
        public string NameClaim { get; set; }
        /// <summary>
        /// Role Claim
        /// </summary>
        public string RoleClaim { get; set; }
        /// <summary>
        /// Whether to verify issuer
        /// </summary>
        public bool ValidateIssuer { get; set; }
        /// <summary>
        /// Specified issuer
        /// </summary>
        public string ValidIssuer { get; set; }
        /// <summary>
        /// Whether to verify audience
        /// </summary>
        public bool ValidateAudience { get; set; }
        /// <summary>
        /// Specified audience
        /// </summary>
        public string ValidAudience { get; set; }
        /// <summary>
        /// Whether to verify issuer signing key
        /// </summary>
        public bool ValidateIssuerSigningKey { get; set; }
        /// <summary>
        /// Specified issuer singing key
        /// </summary>
        public string IssuerSigningKey { get; set; }
    }
}
